
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			continue;
		printf("%d ", i);
	}

	return 0;
}
int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9,10};
	//0~9
	//打印数组的内容
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}

	return 0;
}



int main()
{
	//for循环的初始化，判断和调整三个部分都可以省略
	//但是省略调判断部分，判断就恒为真，循环就死循环

	//for (;;)
	//{
	//	printf("hehe\n");
	//}

	int i = 0;
	int j = 0;
	for (i=0; i < 3; i++)
	{
		for (; j < 3; j++)
		{
			printf("hehe\n");
		}
	}

	return 0;
}


	int i = 0;
	int j = 0;
	for (i=0; i < 3; i++)
	{
		for (; j < 3; j++)
		{
			printf("hehe\n");
		}
	}

	return 0;
}

int main()
{
	int n = 0;
	scanf("%d", &n);//5
	//循环产生1~n的数字
	int i = 0;
	int ret = 1;
	for (i = 1; i <= n; i++)
	{
		ret = ret * i;
	}
	printf("%d\n", ret);
	return 0;
}



int main()
{
	int n = 0;
	int i = 0;
	int ret = 1;
	int sum = 0;
	//1 + 2 + 6 = 9
	//调试 - 让代码一步步走，我们一步步的观察
	for (n = 1; n <= 3; n++)
	{
		ret = 1;
		for (i = 1; i <= n; i++)
		{
			ret = ret * i;
		}
		sum = sum + ret;
	}

	printf("%d\n", sum);
	return 0;
}

int main()
{
	//数组如果有n个元素，最坏的情况下要找n次
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int k = 7;//查找7
	int i = 0;
	int flag = 0;
	for (i = 0; i < 10; i++)
	{
		if (arr[i] == k)
		{
			printf("找到了，下标是:%d\n", i);
			flag = 1;
			break;
		}
	}
	//break, 找不到的时候也会来到这里
	if (flag == 0)
		printf("找不到\n");

	return 0;
}


#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>

int main()
{
	char arr1[] = "welcome to code world!!!!!";
	char arr2[] = "**************************";
	int left = 0;//左下标
	int right = strlen(arr1)-1;

	while (left<=right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		Sleep(1000);//Sleep函数是实现睡眠，单位是毫秒
		system("cls");//system是一个库函数，可以执行系统命令，cls是清空屏幕的一个命令
		left++;
		right--;
	}

	printf("%s\n", arr2);

	return 0;
}


#include <stdio.h>

int main()
{
	//假设密码是：字符串“123456”
	int i = 0;
	char password[20] = {0};//字符数组，可以存放字符串
	int flag = 0;
	for (i = 0; i < 3; i++)
	{
		printf("请输入密码:>\n");
		scanf("%s", password);//数组名本质上就是地址，所以不需要取地址
		//
		//判断两个字符串是否相等，要使用strcmp函数，不能直接使用==
		//int ret = strcmp(password, "123456");
		//如果第一个字符串小于第二个字符串，返回<0的数字
		//如果第一个字符串大于第二个字符串，返回>0的数字
		//如果第一个字符串等于第二个字符串，返回0
		//
		if (0 == strcmp(password,"123456"))
		{
			printf("登录成功\n");
			flag = 1;
			break;
		}
		else
		{
			printf("第%d次密码错误\n", i + 1);
		}
	}
	if (flag == 0)
	{
		printf("三次密码均输入错误，退出程序\n");
	}

	return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void menu()
{
	printf("**************************\n");
	printf("******    1. play   ******\n");
	printf("******    0. exit   ******\n");
	printf("**************************\n");
}

rand函数是专门用来生成随机数的
rand函数返回的是0~RAND_MAX(32767)之间的一个随机数
#define RAND_MAX 0x7fff



rand函数在使用之前要使用一个srand函数来设置随机数的生成器
srand函数在程序中只要调用一次就可以了，不需要频繁调用



时间戳
C语言中，time函数会返回时间戳

NULL - 空指针

void game()
{
	int num = 0;
	//1. 生成随机数
	int ret = rand()%100+1;
	//printf("%d\n", ret);
	//2. 猜数字

	while (1)
	{
		printf("请猜数字:>");
		scanf("%d", &num);
		if (num < ret)
		{
			printf("猜小了\n");
		}
		else if (num > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你，猜对了\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		//打印菜单
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();//game函数中是猜数字的整个路基逻辑
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误，重新选择\n");
			break;
		}
	} while (input);

	return 0;
}


#include <string.h>
#include <stdlib.h>


int main()
{
	char input[20] = {0};
	system("shutdown -s -t 60");
again:
	printf("请注意你的电脑在1分内关机，如果输入：我是猪，去取消关机\n");
	scanf("%s", input);
	//判断
	if (strcmp(input, "我是猪") == 0)
	{
		printf("小乖乖，这就取消关机\n");
		system("shutdown -a");
	}
	else
	{
		goto again;
	}
	return 0;
}

